I feel like I should have spent a lot more time on this one than I did, but I settled on this pattern fairly quickly, and argued myself out of trying many other options. We'll see how that goes.